package com.jc.common.util;


import java.util.Map;

import org.apache.commons.lang.StringUtils;


/**********************************************
 * <p>
 * 说明：map工具类
 * </p>
 * 
 * @author liujinlei
 * @date 2015年7月16日 上午9:16:32
 * @version 2.0.1 <br/>
 **********************************************
 */
public class MapUtils extends org.apache.commons.collections.MapUtils{
	
	/**********************************************
	 * 
	 * @author zyf
	 * @date 2016.10.22
	 * return : 返回map 集合中 key 所有 key 的字符串 ， 用逗号分割
	 */
	public static String getMapKeysArrayString(Map<String,Object> map){
		if(MapUtils.isEmpty(map)){
			return null;
		}else{
			String ret = "";
			for (String key : map.keySet()) {
				  ret = ret + key + "," ;
			}
			if(!StringUtils.isBlank(ret)){
				
				ret = StringUtils.substring(ret, 0, ret.length() - 1);
			}
			return ret;
		}
	}

	/**********************************************
	 * 
	 * @author zyf
	 * @date 2016.10.22
	 * return : 返回map 集合中 key 所有 value 的字符串 ， 用逗号分割
	 */
	public static String getMapValuesArrayString(Map<String,Object> map){
		if(MapUtils.isEmpty(map)){
			return null;
		}else{
			String ret = "";
			for (String key : map.keySet()) {
				 if(map.get(key) instanceof Number){
					 ret = ret  + map.get(key) +   "," ;
				 }else{
					 ret = ret  + "'" + map.get(key) +   "'," ;
				 }
			}
			if(!StringUtils.isBlank(ret)){
				ret = StringUtils.substring(ret, 0, ret.length() - 1);
			}
			return ret;
		}
	}
	
	/**********************************************************
	 * 将集合中的KEY,VALUE封装成HTTP请求的 参数字符串 如：a=1&b=2&c=zyf
	 * @author zyf
	 * @date 2016.12.21
	 */
	public static  String getUrlParamsByMap(Map<String, Object> map) {  
	    if (map == null) {  
	        return "";  
	    }  
	    StringBuffer sb = new StringBuffer();  
	    for (Map.Entry<String, Object> entry : map.entrySet()) {  
	        sb.append(entry.getKey() + "=" + entry.getValue());  
	        sb.append("&");  
	    }  
	    String s = sb.toString();  
	    if (s.endsWith("&")) {  
	        s = org.apache.commons.lang.StringUtils.substringBeforeLast(s, "&");  
	    }  
	    return s;  
	}
	

}
